接下來開始啟動這個虛擬實境遊戲
func start() {
DispatchQueue.main.async {
self.startButton.isHidden = true
self.suspendARPlaneDetection()
self.hideARPlaneNodes()
self.state = .pointToSurface
}
}
這裡在開始啟動時,先隱藏按鈕, 然後不再偵測平面, 隱藏Plane Node,
最後改變其state 到開始的狀態, 執行
self.start()
再來如何重設平面呢?
func resetARSession() {
let config = sceneView.session.configuration as! ARWorldTrackingConfiguration
config.planeDetection = .horizontal
sceneView.session.run(config,options: [.resetTracking, .removeExistingAnchors])
}
首先重新偵測平面, 再來新增一些config 的元素
.resetTracking -> 重啟ARKit
.removeExistingAnchors -> 移除所有之前所有偵測的anchor, 並且移除所有偵測的平面nodes